home *** CD-ROM | disk | FTP | other *** search
- ****************************************************************
- MICROSOFT SQL SERVER
- VIGTIGT.FIL TIL INSTALLATION AF
- MICROSOFT SQL SERVER ODBC-DRIVER VERSION 3.7
- ****************************************************************
-
- Denne fil beskriver brugen af Microsoft SQL Server ODBC-driveren
- version 3.7 med Microsoft SQL Server version 6.5 eller tidligere.
-
- Da Microsoft SQL Server ODBC-driveren version 3.7 leveres
- med SQL Server 7.0, henvises brugere af SQL Server 7.0 til
- dokumentationen til SQL Server 7.0 for denne driver i stedet
- for dokumentationen i denne Vigtigt-fil.
-
- De omhandlede emner er:
-
- 1. Oversigt
- 2. Installere Instcat.sql pσ serveren
- 3. Hente SQL Server-klientnetbiblioteker
- 4. Dokumentationskilder vedr°rende brugen af ODBC med SQL Server
- 5. Bruge driveren i et udviklingsmilj°
- 6. Kompatibilitetsproblemer
-
- ****************************************************************
- 1. Oversigt
-
- SQL Server ODBC-driveren version 3.7 er en Win32ODBC-driver
- i version 3.51. Den kan bruges med programmer
- skrevet til enten ODBC 2.X eller ODBC 3.X API'erne. Driveren
- fungerer med SQL Server version 4.21a eller senere. Driveren k°rer under
- Windows 98, Windows 95 eller Windows NT (version 4.0 eller senere).
-
- Et Win32 SQL Server 7.0 Client Network-vµrkt°j er ogsσ
- installeret med SQL Server ODBC-driveren version 3.7. Vµrkt°jet
- SQL Server Client Network kan benyttes sammen med SQL Server
- version 4.21a eller senere og de klientnetbiblioteker, som
- f°lger med disse versioner af SQL Server.
-
- ****************************************************************
- 2. Installere Instcat.sql pσ serveren
-
- SQL Server ODBC-driveren bruger et sµt systemgemte
- procedurer, kendt som kataloggemte procedurer, til at hente
- oplysninger fra systemkataloget i SQL Server. Hver version
- af SQL Server ODBC-driveren er udviklet til at arbejde
- med en bestemt version af de kataloggemte procedurer.
-
- Filen Instcat.sql, medtaget i version 3.7 af SQL Server ODBC-driveren
- indeholder mindre opdateringer af de kataloggemte procedurer,
- der opgraderer procedurerne til de versioner, der bruges af denne
- driver. Filen Instcat.sql, der f°lger med SQL Server
- ODBC-driveren version 3.7 er den samme som den Instcat.sql-fil,
- der fulgte med SQL Server 7.0. Benyttes SQL Server 7.0, er det ikke
- n°dvendigt at k°re Instcat.sql.
-
- Systemadministratoren af SQL Server skal bruge scriptet
- Instcat.sql til at opgradere de kataloggemte procedurer
- for at sikre, at driveren virker korrekt. Opgradering af de
- kataloggemte procedurer pσvirker ikke virkemσden af
- µldre SQL Server-klienter. Dette skal g°res for alle
- versioner af Microsoft SQL Server fra 4.21a til 6.5.
- Denne opgradering er ikke n°dvendig, hvis du har SQL
- Server 7.0.
-
- For at opgradere de kataloggemte procedurer pσ SQL Server 4.21a,
- 6.0 eller 6.5 k°rer systemadministratoren scriptet Instcat.sql, der
- bruger vµrkt°jet isql (se instruktionerne herunder). F°r der foretages
- µndringer i masterdatabasen, b°r systemadministratoren
- sikkerhedskopiere den. For at k°re isql skal computeren vµre
- installeret som en klientarbejdsstation til SQL Server.
-
- Brug isql-vµrkt°jet ved kommandoprompten for at k°re scriptet
- Instcat.sql. Eksempel:
-
- C:>ISQL /Usa /Psa_password /Sserver_name
- /ilocation\Instcat.Sql
-
- hvor
- sa_password
- er systemadministratorens adgangskode.
- server_name
- er navnet pσ den server, hvor SQL Server er placeret.
- location
- er den fulde sti til placeringen af Instcat.Sql.
-
- Scriptet Instcat.sql genererer mange meddelelser. De fleste
- angiver, hvor mange rµkker der blev pσvirket af Transact-SQL-
- sµtninger afgivet af scriptet. De fleste af disse meddelelser kan
- ignoreres, selvom outputtet b°r skannes for meddelelser, der
- angiver en afviklingsfejl. Nσr Instcat.sql k°res pσ
- version 6.0 af SQL Server, kan meddelelsen om, at objektet
- sp_MS_upd_sysobj_category ikke eksisterer, ignoreres. Den
- sidste meddelelse skal angive, at Instcat.sql blev gennemf°rt.
- Scriptet Instcat.sql mislykkes, nσr der ikke er
- tilstrµkkelig plads i masterdatabasen til at lagre de
- kataloggemte procedurer eller til at registrere µndringerne af
- eksisterende procedurer.
-
- ****************************************************************
- 3. Hente SQL Server-klientnetbiblioteker
-
- SQL Server ODBC-driveren bruger SQL Server-klientnetbiblioteker
- til at kommunikere med serveren. Version 3.7 af SQL Server
- ODBC-driveren bruger ogsσ vµrkt°jet SQL Server
- Client Configuration til at hσndtere det netbibliotek,
- der er tilknyttet en ODBC-datakilde.
-
- Version 3.7 af SQL Server ODBC-driveren installerer kun et
- netbibliotek, det Win32-navngivne pipe-netbibliotek Dbnmpntw.dll.
-
- Du kan bruge version 3.7 af SQL Server ODBC-driveren med µldre
- Win32-netbiblioteker. Hvis et andet netbibliotek end det navngivne
- pipe-netbibliotek er n°dvendigt for at etablere forbindelse til SQL Server, kan du
- bruge det netbibliotek, der fulgte med din version af SQL
- Server.
- Du kan fσ SQL Server- netbiblioteker ved at installere
- vµrkt°jerne Win32 SQL Server Client til din version af
- SQL Server.
-
- Den version af vµrkt°jet SQL Server Client Network,
- der er installeret med version 3.7 af SQL Server ODBC-driveren, kan
- bruges med klientnetbiblioteker fra SQL Server 4.21a eller
- senere.
-
- ****************************************************************
- 4. Dokumentationskilder vedr°rende brugen af ODBC med SQL Server
-
- Version 3.7 af Microsoft SQL Server ODBC-driveren er den
- samme driver, som leveres med SQL Server 7.0. Brugere af SQL
- Server 7.0 henvises til dokumentationen til SQL Server 7.0 for
- SQL Server ODBC-driveren version 3.7
-
- Nσr SQL Server ODBC-driveren version 3.7 bruges med SQL Server
- (version 4.21a, 6.0 eller 6.5), fungerer driveren pσ samme mσde
- som de µldre drivere. Du kan derfor bruge de driverspecifikke
- oplysninger, som fulgte med denne version of SQL Server. Disse
- omfatter:
-
- * Filen drvssrvr.hlp, som fulgte med den tidligere version
- af SQL Server.
-
- * Afsnittet "Programming ODBC for Microsoft SQL Server" i
- hσndb°gerne til SQL Server 6.5.
-
- * Hvidbogen "Using ODBC with Microsoft SQL Server", der
- kan fσs pσ MSDN.
-
- Version 3.7 af Microsoft SQL Server ODBC-driveren overholder ogsσ
- yderligere driverspecifikke oplysninger i den tekniske
- bemµrkning "Using ODBC with Microsoft SQL Server", som kan hentes
- pσ MSDK.
-
- Filen Sqlsodbc.hlp, der f°lger med version 3.7 af SQL Server
- ODBC-driveren, indeholder kun kontekstsensitiv hjµlp til guiden
- SQL Server ODBC Datakilde. Filen Drvssrvr.hlp, der
- fulgte med tidligere versioner af SQL Server ODBC-driveren,
- indeholdt driverspecifikke oplysninger til µldre versioner
- af driveren. Oplysningerne i de µldre versioner af
- Drvssrvr.hlp er gengivet i hσndbogen til SQL Server 6.5
- "Programming ODBC for Microsoft SQL Server."
-
- ****************************************************************
- 5. Bruge driveren i et udviklingsmilj°
-
- SQL Server ODBC-driveren bruger driverspecifikke
- parametre til flere ODBC-funktionskald. Definitioner for disse
- driverspecifikke parametre og driverspecifikke C- og C++-
- programmeringsstrukturer er indeholdt i filen
- Odbcss.h.
-
- SQL Server ODBC-driveren version 3.7 fungerer med filen Odbcss.h,
- der findes i f°lgende kilder:
-
- * SQL Server 7.0
-
- * SQL Server 6.5 Service Pack 2 (SP2) eller senere
-
- * MDAC SDK
- MDAC SDK er en del af Microsoft Developer Network
- Professional. SDK kan ogsσ hentes Microsoft Web-stedet
- pσ www.microsoft.com/data. SDK kan ogsσ fσ fra
- Microsoft Press i "Microsoft ODBC 3.0 Software
- Development Kit and Programmer's Reference".
-
- ****************************************************************
- 6. Kompatibilitetsproblemer
-
- Eftersom ODBC-driveren version 3.7 f°lger med SQL
- Server 7.0, henvises brugere af SQL Server 7.0 til dokumentationen
- til ODBC i SQL Server 7.0. Kompatibilitetsproblemer dokumenteret
- i dette afsnit gµlder kun, nσr denne driver k°rer med
- tidligere versioner af SQL Server (4.21a, 6.0 og 6.5).
-
- SQL Server ODBC-driveren version 3.7 indeholder en ny guide,
- nσr datakilder tilf°jes eller konfigureres i enten vµrkt°jet ODBC-
- administrator, eller nσr et program kalder
- SQLConfigDataSource og beder driveren om at sp°rge brugeren om
- oplysninger. Klik pσ knappen Hjµlp i guiden for at fσ adgang til
- dokumentationen til guiden.
-
- I version 2.65 af SQL Server ODBC-driveren, der fulgte med
- SQL Server 6.5, arbejdede SQL_COPT_SS_PERF_QUERY_INTERVAL
- i sekunder i stedet for millisekunder som angivet i dokumentationen
- (se Knowledge Base artikel Q157753). I version 3.7 af
- SQL Server ODBC-driveren er SQL_COPT_SS_PERF_QUERY_INTERVAL
- µndret til at arbejde i millisekunder som angivet i dokumentationen.
-
- F°lgende µndringer pσvirker kun programmer skrevet med
- ODBC 3.X API. De pσvirker ikke programmer skrevet
- med ODBC 2.X API. Disse µndringer b°r ikke pσvirke
- behandlingen af resultatet i de fleste ODBC-programmer.
-
- I tidligere versioner af SQL Server ODBC-driveren, returnerer
- sammenhµngende PRINT- eller RAISERROR-sµtninger i et bundt
- eller i en gemt procedure deres meddelelser sammen i Θt resultatsµt. I
- version 3.7 af SQL Server ODBC-driveren returneres meddelelserne for hver
- SQL-sµtning som separate resultatsµt. Du skal kalde
- SQLMoreResults mellem hver meddelelse, der skal placeres
- pσ meddelelsen for den nµste SQL-sµtning. Meddelelser fra
- en enkelt SQL-sµtning, f.eks. en DBCC-sµtning, returneres alle
- i et enkelt resultatsµt, og det er ikke n°dvendigt at kalde
- SQLMoreResults mellem hver meddelelse.
-
- I tidligere versioner af SQL Server ODBC-driveren medf°rte en k°rselsfejl
- eller en RAISERROR med prioritering pσ 11 eller h°jere pσ den
- f°rste sµtning i et bundt eller i en gemt procedure altid,
- at enten SQLExecute, SQLExecDirect eller SQLParamData returnerede
- SQL_ERROR. I version 3.7 af SQL Server ODBC-driveren
- returnerer SQLExecute, SQLExecDirect eller SQLParamData kun SQL_ERROR,
- hvis ingen andre sµtninger afvikles efter den f°rste
- sµtning. Hvis andre sµtninger afvikles efter den
- f°rste, selv en simpel RETURN-sµtning uden returvµrdi, returnerer
- SQLExecute eller SQLExecDirect SQL_SUCCESS_WITH_INFO. Efter
- behandling af SQL_SUCCESS_WITH_INFO-meddelelserne med
- SQLGetDiagRec, skal SQLMoreResults kaldes for at blive placeret pσ
- det nµste resultatsµt.
-
- Nσr tidligere versioner af driveren st°dte pσ en fejl i den f°rste
- sµtning i et bundt eller en gemt procedure, kunne sµtningens
- handle bruges med en anden SQL-sµtning, efter
- SQLExecute eller SQLExecDirect returnerede SQL_ERROR. Nσr version 3.7
- af driveren returnerer SQL_SUCCESS_WITH_INFO, er sµtningen ikke fri
- til at behandle en anden SQL-sµtning, f°r SQLMoreResults returnerer
- SQL_NO_DATA, eller f°r alle resultatsµt, der f°lger efter RAISERROR,
- er blevet lukket. Hvis der ikke f°lger et resultatsµt efter fejlmeddelelsen,
- kan SQLCloseCursor ikke kaldes. SQLFreeStmt(SQL_CLOSE)
- eller SQLMoreResults skal kaldes for at frig°re sµtningens handle
- til at behandle en anden SQL-sµtning:
-
- CREATE PROCEDURE TestPrc @Parm1 as
- IF (@Parm1 IS NULL)
- BEGIN
- RAISERROR ('Parm1 cannot be NULL', 11, 1)
- RETURN
- END
- SELECT * FROM sysusers WHERE suid = @Parm1
- GO
-
- Udf°r f°lgende:
-
- SQLExecDirect(hstmt, "{ call TestPrc (NULL) }", SQL_NTS);
-
- Hvis en µldre version af SQL Server ODBC-driveren bruges, eller
- hvis programmet benytter ODBC 2.X API, returnerer SQLExecDirect
- SQL_ERROR. Efter SQLGetDiagRec returnerer SQL_NO_DATA, eller
- SQLError returnerer SQL_NO_DATA_FOUND, er sµtningens handle
- fri til at udf°re en anden SQL-sµtning.
-
- Ved brug af version 3.7 af SQL Server ODBC-driveren fra et
- program skrevet til ODBC 3.X API returnerer SQLExecDirect
- SQL_SUCCESS_WITH_INFO. Efter SQLGetDiagRec returnerer
- SQL_NO_DATA, kan sµtningens handle ikke bruges til at behandle
- en anden SQL-sµtning, f°r SQLMoreResults returnerer
- SQL_NO_DATA, eller SQLFreeStmt(SQL_CLOSE) kaldes.
-
- I tidligere versioner af SQL Server ODBC-driveren returnerer SQLExecute,
- SQLExecDirect eller SQLParamData SQL_SUCCESS, nσr et
- program afvikler en UPDATE- eller DELETE-sµtning, der er s°gt efter,
- og som ikke pσvirker nogen rµkker. I dette tilfµlde returnerer version 3.7
- af driveren stadig SQL_SUCCESS til programmer skrevet med
- ODBC 2.X API, men den returnerer SQL_NO_DATA til programmer
- skrevet med ODBC 3.X API. Hvis enten det ODBC 2.X-
- program, der modtager SQL_SUCCESS, eller det ODBC 3.X-
- program, der modtager SQL_NO_DATA, derefter kalder SQLRowCount,
- returnerer SQLRowCount en optµlling pσ nul.
-
- ODBC 3.X definerer mere klart den mσde, resultater returneres pσ,
- end ODBC 2.X. Tidligere versioner af SQL Server ODBC-driveren
- returnerede outputparametres og returkoders vµrdier, nσr
- ODBC 2.X-funktionerne SQLFetch eller SQLExtendedFetch returnerede
- SQL_NO_DATA pσ det sidste resultatsµt returneret af en gemt
- procedure. Version 3.7 af SQL Server ODBC-driveren bevarer denne
- virkemσde, nσr den kaldes af ODBC 2.X-programmer. Nσr version 3.7 af
- SQL Server ODBC-driveren derimod kaldes af ODBC 3.X-programmer,
- returnerer driveren ikke outputparametre eller returkoder, f°r
- SQLMoreResults returnerer SQL_NO_DATA.
- ****************************************************************
-